﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace University.Workshop.WinApp.RatesAndGroupsFolder
{
    public partial class SearchPatientGroup : Form
    {
        private string groupPatient { get; set; }

        public SearchPatientGroup(string group)
        {
            groupPatient = group;
            InitializeComponent();
            labelGrupo.Text = "Grupo: " + groupPatient;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            labelMessage.Text = String.Empty;
            if (!(Regex.IsMatch(txtValue.Text, @"^[\p{N}]+$")) && !(string.IsNullOrEmpty(txtValue.Text)))
            {
                labelMessage.Text = "El CI solo puede tener números";
            }
            else
            {
            DataTable patientTable = DataAccess.PatientDataAccess.ShowPatients(txtValue.Text);
            gridPatients.DataSource = patientTable;
            }
        }

        private void btnSelect_Click(object sender, EventArgs e)
        {
            String value = String.Empty;
            DataGridViewRow row = gridPatients.CurrentRow;
            if (row == null)
            {
                MessageBox.Show(this, "No se seleccionó ningún registro ", "Seleccionar Campo");
            }
            else
            {
                value = (string)row.Cells[0].Value;

                bool controler = DataAccess.PatientDataAccess.MatchGroup(value, groupPatient);

                if (controler)
                {
                    MessageBox.Show(this, "El paciente fue añadido al grupo exitosamente", "Agregar a Grupo");
                }
                else
                {
                    MessageBox.Show(this, "No se pudo añadir el paciente al grupo exitosamente", "Agregar a Grupo");
                }

                this.Dispose();
            }
        }
    }
}
